package com.ovidiojf.fieldplan.esporte;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;

@ManagedBean(name="esporteBean")
@RequestScoped
public class EsporteBean {

	private Esporte esporteSelecionado = new Esporte();
	private List<Esporte> lista = null;
	private List<SelectItem> selectList = null;
	
	String mensagem;

	
	public void salvar() {
		EsporteRN esporteRN = new EsporteRN();
		
		Integer id = esporteSelecionado.getId();
		if (id == null || id == 0) {
			esporteRN.salvar(esporteSelecionado);
			mensagem = "Esporte salvo com sucesso!";
		}
		else {
			esporteRN.alterar(esporteSelecionado);
			mensagem = "Esporte alterado com sucesso!";
		}
		
		FacesMessage facesMessage = new FacesMessage(mensagem);
		FacesContext facesContext = FacesContext.getCurrentInstance();
		facesContext.addMessage(null, facesMessage);		
		this.lista = null;
	}
	
	
	public void excluir() {
		EsporteRN esporteRN = new EsporteRN();
		esporteRN.excluir(esporteSelecionado);
		
		this.lista = null;
	}
	
	
	public void novo() {
		esporteSelecionado = new Esporte();
	}
	
	
	
	
	
	

	public List<SelectItem> getSelectList() {
		
		if (selectList == null) {
			
			selectList = new ArrayList<SelectItem>();
			
			List<Esporte> lista = new EsporteRN().listar();
			
			SelectItem item = null;
			
			for (Esporte esporte : lista) {
				item = new SelectItem(esporte, esporte.getNome());
				selectList.add(item);
			}			
		}		
		
		return selectList;
	}


	public Esporte getEsporteSelecionado() {
		return esporteSelecionado;
	}

	public void setEsporteSelecionado(Esporte esporteSelecionado) {
		this.esporteSelecionado = esporteSelecionado;
	}

	public List<Esporte> getLista() {
		
		if (lista == null) {
			lista = new EsporteRN().listar();
		}
		
		return lista;
	}

	public void setLista(List<Esporte> lista) {
		this.lista = lista;
	}
	
}
